The SemanticDB search throttle determines how
aggressive SemanticDB searches are. It is controlled by the
variable semanticdb-find-default-throttle. The
default value of this variable aims for maximum accuracy, at the
expense of search time.
Other parts of the package, particularly the different
language parsers, may change the value of
semanticdb-find-default-throttle. You can override
its value, for a given major mode, like this:
(setq-mode-local c-mode
semanticdb-find-default-throttle
'(project unloaded system recursive))
The default throttle for
semanticdb-findroutines. The throttle controls how detailed the list of database tables is for a symbol lookup. The value is a list with the following keys:
file- The file the search is being performed from. This option is here for completeness only, and is assumed to always be on.
local- Tables from the same local directory are included. This includes files directly referenced by a file name which might be in a different directory.
project- Tables from the same local project are included If
projectis specified, thenlocalis assumed.unloaded- If a table is not in memory, load it. If it is not cached on disk either, get the source, parse it, and create the table.
system- Tables from system databases. These are specifically tables from system header files, or language equivalent.
recursive- For include based searches, includes tables referenced by included files.
omniscience- Included system databases which are omniscience, or somehow know everything. Omniscience databases are found in
semanticdb-project-system-databases. The Emacs Lisp system db is an omniscience database.